package concurso.logica.Pruebas;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import concurso.logica.DataParticipante;
import concurso.logica.DataParticipante2;
import concurso.logica.DataParticipante3;
import concurso.logica.DataParticipante3Extranjero;
import concurso.logica.DataParticipante8;
import concurso.logica.Evaluacion;
import concurso.logica.Evaluaciones;
import concurso.logica.excepciones.EvaluacionesException;


public class PruebaDataPartic {
	public static void main (String [] args) throws NumberFormatException, IOException, EvaluacionesException{

	 	int opcion = 100;
		//defino variables para lectura por teclado
		InputStreamReader isr = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader (isr);
		
        //creo varias evaluaciones
		Evaluacion a = new Evaluacion(8, "Muy buena", "Polino");
		Evaluacion b = new Evaluacion(5, "Sexy", "Ricky Fort");
		Evaluacion c = new Evaluacion(10, "Notable", "Reina Rich");
		
		//creo mi coleccion de evaluacione
		Evaluaciones ev = new Evaluaciones();
		
		//inserto las evaluaciones en la coleccion
		ev.insertarEvaluacion(a);
		ev.insertarEvaluacion(b);
		ev.insertarEvaluacion(c);
	
		//menu de seleccion
		System.out.println("*** Manu DataParticipante ***");
		System.out.println("Opcion 1: Cragar DataParticipante");
		System.out.println("Opcion 2: Mostrar DataParticipante");
		System.out.println("Opcion 3: Modificar DataParticipante");
		System.out.println("*** Manu DataParticipante2 ***");
		System.out.println("Opcion 4: Cragar DataParticipante2");
		System.out.println("Opcion 5: Mostrar DataParticipante2");
		System.out.println("Opcion 6: Modificar DataParticipante2");
		System.out.println("*** Manu DataParticipante3 ***");
		System.out.println("Opcion 7: Cragar DataParticipante3");
		System.out.println("Opcion 8: Mostrar DataParticipante3");
		System.out.println("Opcion 9: Modificar DataParticipante3");
		System.out.println("*** Manu DataParticipante8 ***");
		System.out.println("Opcion 10: Cragar DataParticipante8");
		System.out.println("Opcion 11: Mostrar DataParticipante8");
		System.out.println("Opcion 12: Modificar DataParticipante8");
			
		DataParticipante data1  = null ;
		DataParticipante2 data2 = null ;
		DataParticipante3 data3 = null ;
		DataParticipante8 data8 = null ;
		
		while (opcion !=0) {
			opcion = Integer.parseInt(br.readLine());

			String especialidad = "imitador";
			String nombreCompleto = "nombre nuevo";
			
			switch (opcion) { 
			case 1:				
				data1 = new DataParticipante("pepe", "pepe de la puente", 80, "cantante", false, ev);
				System.out.println("*** Se creo un DataParticipante  ***");
				break;
			case 2:
				
				System.out.println("*** DataParticipante ***");
				System.out.println("Nombre:" +data1.getNombreCompleto());
				System.out.println("Nombre Artistico:" + data1.getNombreArtistico());
				System.out.println("Edad:" + data1.getEdad());
				System.out.println("Especialidad:" + data1.getEspecialidad());
				System.out.println("Es Candidato?:" + data1.isEsCandidato());
				System.out.println("Evaluaciones:" );
				ev = data1.getEvaluacionJueces();						
				ev.listarEvaluaciones();
				break;
			case 3:	
				data1.setEsCandidato(true);
				data1.setEdad(88);
				data1.setEspecialidad(especialidad);
				data1.setNombreCompleto(nombreCompleto);
				
				System.out.println("*** DataParticipante modificado ***");
				System.out.println("Nombre:" +data1.getNombreCompleto());
				System.out.println("Nombre Artistico:" + data1.getNombreArtistico());
				System.out.println("Edad:" + data1.getEdad());
				System.out.println("Especialidad:" + data1.getEspecialidad());
				System.out.println("Es Candidato?:" + data1.isEsCandidato());
				System.out.println("Evaluaciones:" );
				ev = data1.getEvaluacionJueces();						
				ev.listarEvaluaciones();
				break;
			case 4:				
				data2 = new DataParticipante2("pepe",  80, "cantante");
				System.out.println("*** Se creo un DataParticipante2  ***");
				break;
			case 5:
				System.out.println("*** DataParticipante2 ***");
				System.out.println("Nombre Artistico:" + data2.getNombreArtistico());
				System.out.println("Edad:" + data2.getEdad());
				System.out.println("Especialidad:" + data2.getEspecialidad());
				break;
			case 6:					
				data2.setEdad(88);
				data2.setEspecialidad(especialidad);
				
				System.out.println("*** DataParticipante2 modificado ***");
				System.out.println("Nombre Artistico:" + data2.getNombreArtistico());
				System.out.println("Edad:" + data2.getEdad());
				System.out.println("Especialidad:" + data2.getEspecialidad());
				break;
			case 7:				
				data3 = new DataParticipante3Extranjero("pepe", "nombre completo", 80, "cantante", ev, 0, false, "argentina", 3);
				System.out.println("*** Se creo un DataParticipante3 ***");
				break;
			case 8:
				System.out.println("*** DataParticipante3 ***");
				System.out.println("Nombre:" +data3.getNombreCompleto());
				System.out.println("Nombre Artistico:" + data3.getNombreArtistico());
				System.out.println("Edad:" + data3.getEdad());
				System.out.println("Especialidad:" + data3.getEspecialidad());
				System.out.println("Evaluaciones:" );
				ev = data3.getEvaluacionesJueces();						
				ev.listarEvaluaciones();
				break;
			case 9:				
				data3.setEdad(88);
				data3.setEspecialidad(especialidad);
				data3.setNombreCompleto(nombreCompleto);
				
				System.out.println("*** DataParticipante3 modificado ***");
				System.out.println("Nombre:" +data3.getNombreCompleto());
				System.out.println("Nombre Artistico:" + data3.getNombreArtistico());
				System.out.println("Edad:" + data3.getEdad());
				System.out.println("Especialidad:" + data3.getEspecialidad());
				System.out.println("Evaluaciones:" +data3.getEvaluacionesJueces());
				break;
			case 10:				
				data8 = new DataParticipante8("pepe", 80, 10);		
				System.out.println("*** Se creo un DataParticipante8 ***");
				break;
			case 11:
				System.out.println("*** DataParticipante8 ***");
				System.out.println("Nombre Artistico:" + data8.getNombreArtistico());
				System.out.println("Edad:" + data8.getEdad());
				System.out.println("Puntos:" + data8.getPuntos());
				break;
			case 12:	
				data8.setEdad(88);
				data8.setNombreArtistico("nombre nuevo");
				data8.setPuntos(data8.getPuntos()+2);
				
				System.out.println("*** DataParticipante8 modificado ***");
				System.out.println("Nombre Artistico:" + data8.getNombreArtistico());
				System.out.println("Edad:" + data8.getEdad());
				System.out.println("Puntos:" + data8.getPuntos());
				break;
			default:
				break;
			}				
		}	
	}
}
		//prueba para dataevaluacion
		/*DataParticipante data1 = new DataParticipante("pepe", "pepe de la puente", 80, "cantante", false, ev);
		
		System.out.println("Prueba 1");
		System.out.println(data1.getNombreArtistico());
		System.out.println(data1.getNombreCompleto());
		System.out.println(data1.getEdad());
		System.out.println(data1.getEspecialidad());
		System.out.println(data1.isEsCandidato());
		System.out.println(data1.getEvaluacionJueces());
	
		String especialidad = "imitador";
		String nombreCompleto = "nombre nuevo";
		
		data1.setEsCandidato(true);
		data1.setEdad(88);
		data1.setEspecialidad(especialidad);
		data1.setNombreCompleto(nombreCompleto);
		
		System.out.println("\nPrueba 2");
		System.out.println(data1.getNombreArtistico());
		System.out.println(data1.getNombreCompleto());
		System.out.println(data1.getEdad());
		System.out.println(data1.getEspecialidad());
		System.out.println(data1.isEsCandidato());
		System.out.println(data1.getEvaluacionJueces());
	
	*/
	/*	
		//prueba para dataevaluacion2
		DataParticipante2 data1 = new DataParticipante2("pepe",  80, "cantante");
		
		System.out.println("Prueba 1");
		System.out.println(data1.getNombreArtistico());
		System.out.println(data1.getEdad());
		System.out.println(data1.getEspecialidad());
		
		String especialidad = "imitador";
		String nombre = "nombre nuevo";
		
		data1.setNombreArtistico(nombre);
		data1.setEdad(88);
		data1.setEspecialidad(especialidad);
		
		System.out.println("\nPrueba 2");
		System.out.println(data1.getNombreArtistico());
		System.out.println(data1.getEdad());
		System.out.println(data1.getEspecialidad());
	*/	
	/*	
		//prueba para dataevaluacion3
		DataParticipante3 data1 = new DataParticipante3("pepe", "nombre completo", 80, "cantante", ev);
		
		
		System.out.println("Prueba 1");
		System.out.println(data1.getNombreArtistico());
		System.out.println(data1.getNombreCompleto());
		System.out.println(data1.getEdad());
		System.out.println(data1.getEspecialidad());
		System.out.println(data1.getEvaluacionJueces());
		
		String especialidad = "imitador";
		String nombre = "nombre nuevo";
				
		data1.setNombreArtistico(nombre);
		data1.setNombreCompleto("nombre completo");
		data1.setEdad(88);
		data1.setEspecialidad(especialidad);
				
		System.out.println("\nPrueba 2");
		System.out.println("Prueba 1");
		System.out.println(data1.getNombreArtistico());
		System.out.println(data1.getNombreCompleto());
		System.out.println(data1.getEdad());
		System.out.println(data1.getEspecialidad());
		System.out.println(data1.getEvaluacionJueces());
	*/
		//prueba para dataevaluacion8
	/*	DataParticipante8 data1 = new DataParticipante8("pepe", 80, 10);		
		System.out.println("Prueba 1");
		System.out.println(data1.getNombreArtistico());
		System.out.println(data1.getEdad());
		System.out.println(data1.getPuntos());
		
		String especialidad = "imitador";
		String nombre = "nombre nuevo";
				
		data1.setNombreArtistico(nombre);
		data1.setEdad(88);
		data1.setPuntos(8);
				
		System.out.println("\nPrueba 2");
		System.out.println("Prueba 1");
		System.out.println(data1.getNombreArtistico());
		System.out.println(data1.getEdad());
		System.out.println(data1.getPuntos());
	}	
}*/
